package net.lab1024.sa.admin.module.users.domain.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.base.common.json.serializer.DictValueVoSerializer;

/**
 * 实训室管理系统 列表VO
 *
 * @Author 王俊权
 * @Date 2024-11-06 10:32:24
 * @Copyright 🐂🐎bloc
 */

@Data
public class UsersVO {


    @Schema(description = "所属角色id")
    private Integer id;

    @Schema(description = "用户名，必须唯一")
    private String username;

    @Schema(description = "用户密码")
    private String password;

    @Schema(description = "用户角色")
    private String roleName;

    private int roleId;

    @Schema(description = "所属部门（对于教师和学生可能是所在系部等，管理员可能为空）")
    @JsonSerialize(using = DictValueVoSerializer.class)
    private String department;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    @Schema(description = "用户邮箱")
    private String email;

    @Schema(description = "用户电话")
    private String phone;

}
